package util.model.mysql;

import lombok.Data;
import util.util.annotation.FormatType;

@Data
public class ViewField {

    /**
     * 库名称
     * TABLE_SCHEMA
     */
    @FormatType
    private String databaseName;

    /**
     * 表的注释、备注
     * Table_comment
     */
    @FormatType
    private String tableDBTitle;

    /**
     * 表名称
     * TABLE_NAME
     */
    @FormatType
    private String tableDBName;

    /**
     * 字段注释
     * COLUMN_COMMENT
     */
    @FormatType
    private String fieldTitle;

    /**
     * 字段名称
     * COLUMN_NAME
     */
    @FormatType
    private String fieldDBName;

    /**
     * 类型
     * DATA_TYPE
     */
    @FormatType
    private String fieldDBType;

    /**
     * 字符长度
     * CHARACTER_MAXIMUM_LENGTH
     */
    @FormatType
    private String fieldLength;

    /**
     * 数字长度
     * NUMERIC_PRECISION
     */
    @FormatType
    private String fieldNumberLength;

    /**
     * 数字精度
     * NUMERIC_SCALE
     */
    @FormatType
    private String fieldScale;

    /**
     * 字节长度
     * CHARACTER_OCTET_LENGTH
     */
    @FormatType
    private String fieldByteLength;

    /**
     * 是否为空
     * IS_NULLABLE
     */
    @FormatType
    private String fieldDBMust;

    /**
     * 字段涉及的key （主键、唯一键等）
     * COLUMN_KEY
     */
    @FormatType
    private String fieldPK;

    /**
     * 默认值
     * COLUMN_DEFAULT
     */
    @FormatType
    private String fieldDefaultValue;

    /**
     * 字段类型
     * COLUMN_TYPE
     */
    @FormatType
    private String fieldDBType2;

    /**
     * 日期精度
     * DATETIME_PRECISION
     */
    @FormatType
    private String fieldDateScale;

    /**
     * 编码方式
     * CHARACTER_SET_NAME
     */
    @FormatType
    private String fieldCodeType;

}
